Skip to content

UI rework; BLE pairing lock; devcontainer perm fix; Wio Tracker L1 up/down keys support;#2796

Open
alessiodam wants to merge 3 commits into
meshcore-dev:devfrom
alessiodam:alessiodam/feature/ui-rework
Open

UI rework; BLE pairing lock; devcontainer perm fix; Wio Tracker L1 up/down keys support;#2796
alessiodam wants to merge 3 commits into
meshcore-dev:devfrom
alessiodam:alessiodam/feature/ui-rework

Conversation

@alessiodam

Copy link
Copy Markdown

I've reworked the entire UI last week so it's cleaner, feels better to navigate and have added some features like BLE pairing locking and flood/zero-hop adverts from the UI itself.
The UI also supports the Wio Tracker L1 Pro up/down keys to navigate menus.
I've also fixed the uid for the uucp group in Arch Linux in the devcontainer.

This has all been tested on a LilyGo T-Echo and Wio Tracker L1 Pro and have not had any issues.

--> Copilot Web generated the PR description below

This pull request introduces several new features and improvements to the companion radio example, focusing on BLE pairing lock functionality, user interface enhancements, and hardware support updates. The most significant changes include adding the ability to lock BLE pairing, tracking and displaying client activity in the UI, supporting full refresh for e-paper displays, and adding new button definitions for hardware variants.

BLE Pairing Lock Functionality:

  • Added a pairing_locked field to NodePrefs, persisted in storage, to control whether new BLE pairings are allowed (0 = allowed, 1 = locked). The pairing lock state is now saved and loaded with node preferences. [1] [2] [3]
  • SerialBLEInterface now supports locking BLE pairing via setPairingAllowed, which disables pairing and updates the device's LED state. The pairing lock is enforced during the BLE passkey request. [1] [2] [3] [4]
  • The main application sets pairing allowed based on the loaded preference at startup.
  • UI and task classes now expose methods to get/set pairing allowed state. [1] [2]

User Interface Enhancements:

  • Added activity tracking to the UI, allowing recent client activities (such as new contacts) to be displayed. The UI task now records and exposes activity log entries. [1] [2] [3]
  • Added a new charging icon for display.

Display Improvements:

  • Introduced a fullRefresh method to the DisplayDriver interface and implemented it for GxEPDDisplay, enabling a full-panel refresh for e-paper displays when needed. [1] [2] [3] [4] [5]

Hardware Support Updates:

  • Added support for joystick_up and joystick_down buttons in the gat562_30s_mesh_kit and gat562_mesh_tracker_pro hardware variants. [1] [2] [3]

Other Improvements:

  • Updated the group ID for uucp in the devcontainer config for Arch Linux.
  • Added documentation comments to .vscode/extensions.json.
  • Improved serial connection detection for NRF52 platforms.
  • Improved BLE PIN code initialization logic for more predictable behavior.
  • Modified the advert method to optionally flood advertisements. [1] [2]

These changes collectively enhance device security, improve user feedback, and expand hardware compatibility.

…ent new devices from pairing (which also stops the LED from blinking on boards like the T-Echo); fix the uid in the devcontainer for Arch Linux;

Signed-off-by: Alessio D'Ambrosio <alessio@alessiodam.dev>
Signed-off-by: Alessio D'Ambrosio <alessio@alessiodam.dev>
…-port

Fix UI for Wio Tracker L1 by supporting smaller screens, etc..
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant